package com.mgkj.demo.entity.eten;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 通用品号信息/CHT/通用品號資料/ENU/General Item Data
 * </p>
 *
 * @author yyyjcg
 * @since 2024-10-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Item对象", description="通用品号信息/CHT/通用品號資料/ENU/General Item Data")
public class Item extends Model<Item> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "关联部门")
    @TableField("Owner_Dept")
    private String ownerDept;

    @ApiModelProperty(value = "关联员工")
    @TableField("Owner_Emp")
    private String ownerEmp;

    @ApiModelProperty(value = "主键")
      @TableId(value = "ITEM_BUSINESS_ID", type = IdType.AUTO)
    private String itemBusinessId;

    @ApiModelProperty(value = "存货管理")
    private Boolean inventoryManagement;

    @ApiModelProperty(value = "品号")
    private String itemCode;

    private String itemName;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "归类品")
    private Boolean changeItemSpec;

    private String shortcut;

    private String itemSpecification;

    @ApiModelProperty(value = "批号管理")
    private String lotControl;

    @ApiModelProperty(value = "批号有效天数")
    private Integer lotExpireDay;

    @ApiModelProperty(value = "批号等待天数")
    private Integer lotWaitingDay;

    @ApiModelProperty(value = "批号复检天数")
    private Integer lotReinspectionDay;

    @ApiModelProperty(value = "修改批号有效日期")
    private String lotFailureControl;

    @ApiModelProperty(value = "计量体系")
    private String unitMode;

    @ApiModelProperty(value = "库存检查方式")
    private String inventoryCheckBy;

    @ApiModelProperty(value = "序列号管理")
    private Boolean itemSnManagement;

    @ApiModelProperty(value = "序列号输入模式")
    private String snEntryMode;

    @ApiModelProperty(value = "启用特征码")
    private Boolean itemFeatureControl;

    @ApiModelProperty(value = "以包装方式输入数量")
    private Boolean packingUnit;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "工程品号")
    private String eItem;

    @ApiModelProperty(value = "工程码")
    private String eCode;

    @ApiModelProperty(value = "特征码产生模式")
    private String featureGenerateMode;

    @ApiModelProperty(value = "CKD母件")
    private Boolean ckd;

    @ApiModelProperty(value = "图片")
    private String itemPicture;

    @ApiModelProperty(value = "启用联产品")
    private Boolean jointProductControl;

    @ApiModelProperty(value = "需要做料件认可")
    private Boolean needCertification;

    @ApiModelProperty(value = "批号编码规则")
    private String lotNoRuleId;

    @ApiModelProperty(value = "序号编码规则")
    private String snNoRuleId;

    @ApiModelProperty(value = "品号群组")
    private String featureGroupId;

    @ApiModelProperty(value = "第二单位")
    private String secondUnitId;

    @ApiModelProperty(value = "库存单位")
    private String stockUnitId;

    @ApiModelProperty(value = "生命周期")
    private String lifecycleId;

    @ApiModelProperty(value = "物流单位")
    private String logisticUnitId;

    @ApiModelProperty(value = "电子称重")
    private Boolean isweight;

    @ApiModelProperty(value = "电子称变价")
    private Boolean weightPrice;

    @ApiModelProperty(value = "电子称PLU")
    private String weightPlu;

    @ApiModelProperty(value = "电子称单位")
    private String weightUnitId;

    @ApiModelProperty(value = "品号来源")
    private String source;

    @ApiModelProperty(value = "PLM传输批次号")
    private String plmDatakey;

    @ApiModelProperty(value = "品号图片")
    private String itemPic;

    @ApiModelProperty(value = "商品描述(作废)")
    private String itemDesc2;

    @ApiModelProperty(value = "品号描述")
    private String itemDesc;

    @ApiModelProperty(value = "图号")
    private String drawingNo;

    @ApiModelProperty(value = "图号取自")
    private String drawingNoFrom;

    @ApiModelProperty(value = "品号净重")
    private Double itemNetWeight;

    @ApiModelProperty(value = "重量单位")
    private String netWeightUnitId;

    @ApiModelProperty(value = "服务品号")
    private Boolean serviceItem;

    @ApiModelProperty(value = "资产")
    private Boolean asset;

    @ApiModelProperty(value = "自定义字段0")
    private Double udf001;

    @ApiModelProperty(value = "自定义字段1")
    private Double udf002;

    @ApiModelProperty(value = "自定义字段2")
    private Double udf003;

    @ApiModelProperty(value = "自定义字段3")
    private Double udf011;

    @ApiModelProperty(value = "自定义字段4")
    private Double udf012;

    @ApiModelProperty(value = "自定义字段5")
    private Double udf013;

    @ApiModelProperty(value = "自定义字段6")
    private String udf021;

    @ApiModelProperty(value = "自定义字段7")
    private String udf022;

    @ApiModelProperty(value = "自定义字段8")
    private String udf023;

    @ApiModelProperty(value = "自定义字段9")
    private String udf024;

    @ApiModelProperty(value = "自定义字段10")
    private String udf025;

    @ApiModelProperty(value = "自定义字段11")
    private String udf026;

    @ApiModelProperty(value = "自定义字段12")
    private LocalDateTime udf041;

    @ApiModelProperty(value = "自定义字段13")
    private LocalDateTime udf042;

    @ApiModelProperty(value = "自定义字段14")
    private String udf051;

    @ApiModelProperty(value = "自定义字段15")
    private String udf052;

    @ApiModelProperty(value = "自定义字段16")
    private String udf053;

    @ApiModelProperty(value = "自定义字段17")
    private String udf054;

    @ApiModelProperty(value = "创建日期")
    @TableField("CreateDate")
    private LocalDateTime createdate;

    @ApiModelProperty(value = "最后修改日期")
    @TableField("LastModifiedDate")
    private LocalDateTime lastmodifieddate;

    @ApiModelProperty(value = "修改日期")
    @TableField("ModifiedDate")
    private LocalDateTime modifieddate;

    @ApiModelProperty(value = "创建者")
    @TableField("CreateBy")
    private String createby;

    @ApiModelProperty(value = "最后修改者")
    @TableField("LastModifiedBy")
    private String lastmodifiedby;

    @ApiModelProperty(value = "修改者")
    @TableField("ModifiedBy")
    private String modifiedby;

    @ApiModelProperty(value = "附件")
    @TableField("Attachments")
    private String attachments;

    @ApiModelProperty(value = "表单所在的流程实例的编号")
    @TableField("ProcessInstanceId")
    private String processinstanceid;

    @ApiModelProperty(value = "版本号，不要随意更改")
    @TableField("Version")
    private LocalDateTime version;

    @ApiModelProperty(value = "单据状态属性")
    @TableField("ApproveStatus")
    private String approvestatus;

    @ApiModelProperty(value = "修改日期")
    @TableField("ApproveDate")
    private LocalDateTime approvedate;

    @ApiModelProperty(value = "修改人")
    @TableField("ApproveBy")
    private String approveby;

    @TableField("Owner_Org_RTK")
    private String ownerOrgRtk;

    @TableField("Owner_Org_ROid")
    private String ownerOrgRoid;


    @Override
    protected Serializable pkVal() {
        return this.itemBusinessId;
    }

}
